<html><head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>EntityAnimation.pb</title></head>
<body bgcolor="#EFF1F0" link="#3A3966" vlink="#000000" alink="#000000">
<pre><font face="Courier New, Courier, mono"size="2"><font color="#3A3966">;
</font><font color="#3A3966">; ------------------------------------------------------------
</font><font color="#3A3966">;
</font><font color="#3A3966">;   PureBasic - EntityAnimation
</font><font color="#3A3966">;
</font><font color="#3A3966">;    (c) Fantaisie Software
</font><font color="#3A3966">;
</font><font color="#3A3966">; ------------------------------------------------------------
</font><font color="#3A3966">;
</font>
<font color="#3A3966">;Speed animation = PageUp and PageDown 
</font>
<b><font color="#3A3966">IncludeFile</font></b> <font color="#924B72">#PB_Compiler_Home</font> + "examples/3d/Screen3DRequester.pb"

<b><font color="#3A3966">Define</font></b>.f KeyX, KeyY, MouseX, MouseY, Speed = 0.3

<b><font color="#3A3966">If</font></b> <font color="#3A3966">InitEngine3D</font>()
  

<font color="#3A3966">  Add3DArchive</font>(<font color="#924B72">#PB_Compiler_Home</font> + "examples/3d/Data/Textures", <font color="#924B72">#PB_3DArchive_FileSystem</font>)
<font color="#3A3966">  Add3DArchive</font>(<font color="#924B72">#PB_Compiler_Home</font> + "examples/3d/Data/Models", <font color="#924B72">#PB_3DArchive_FileSystem</font>)
<font color="#3A3966">  Add3DArchive</font>(<font color="#924B72">#PB_Compiler_Home</font> + "examples/3d/Data/Scripts", <font color="#924B72">#PB_3DArchive_FileSystem</font>)
<font color="#3A3966">  Add3DArchive</font>(<font color="#924B72">#PB_Compiler_Home</font> + "examples/3d/Data/Packs/desert.zip", <font color="#924B72">#PB_3DArchive_Zip</font>)
<font color="#3A3966">  Parse3DScripts</font>()
  
<font color="#3A3966">  InitSprite</font>()
<font color="#3A3966">  InitKeyboard</font>()
<font color="#3A3966">  InitMouse</font>()
  
  <b><font color="#3A3966">If</font></b> <font color="#3A3966">Screen3DRequester</font>()
    
<font color="#3A3966">    WorldShadows</font>(<font color="#924B72">#PB_Shadow_Modulative</font>, -1,<font color="#3A3966"> RGB</font>(175, 175, 175))
    
    <font color="#3A3966">;Ground
</font>    <font color="#3A3966">;
</font><font color="#3A3966">    CreateMaterial</font>(0,<font color="#3A3966"> LoadTexture</font>(0, "Dirt.jpg"))
<font color="#3A3966">    CreatePlane</font>(0, 1500, 1500, 40, 40, 15, 15)
<font color="#3A3966">    CreateEntity</font>(0,<font color="#3A3966">MeshID</font>(0),<font color="#3A3966">MaterialID</font>(0))
<font color="#3A3966">    EntityRenderMode</font>(0, 0)
    
    <font color="#3A3966">;Mesh
</font>    <font color="#3A3966">;
</font><font color="#3A3966">    LoadMesh</font>(1, "robot.mesh")
    
    <font color="#3A3966">; Entity
</font>    <font color="#3A3966">;
</font><font color="#3A3966">    CreateEntity</font>(1,<font color="#3A3966"> MeshID</font>(1), <font color="#924B72">#PB_Material_None</font>)
    
    <font color="#3A3966">; Animation
</font>    <font color="#3A3966">;
</font><font color="#3A3966">    StartEntityAnimation</font>(1, "Walk", <font color="#924B72">#PB_EntityAnimation_Manual</font>)
     
    <font color="#3A3966">; SkyBox
</font>    <font color="#3A3966">;
</font><font color="#3A3966">    SkyBox</font>("Desert07.jpg")
    
    <font color="#3A3966">; Camera
</font>    <font color="#3A3966">;
</font><font color="#3A3966">    CreateCamera</font>(0, 0, 0, 100, 100)
<font color="#3A3966">    MoveCamera</font>(0, 50, 100, 80, <font color="#924B72">#PB_Absolute</font>)
<font color="#3A3966">    CameraLookAt</font>(0,<font color="#3A3966"> EntityX</font>(1),<font color="#3A3966"> EntityY</font>(1) + 40,<font color="#3A3966"> EntityZ</font>(1))
    
<font color="#3A3966">    CreateLight</font>(0,<font color="#3A3966"> RGB</font>(255, 255, 255), -40, 100, 80)
<font color="#3A3966">    AmbientColor</font>(<font color="#3A3966">RGB</font>(80, 80, 80))
<font color="#3A3966">    KeyboardMode</font>(<font color="#924B72">#PB_Keyboard_International</font>)
        
    <b><font color="#3A3966">Repeat</font></b>
<font color="#3A3966">      Screen3DEvents</font>()
      
      <b><font color="#3A3966">If</font></b> <font color="#3A3966">ExamineMouse</font>()
        MouseX = -<font color="#3A3966">MouseDeltaX</font>()/10
        MouseY = -<font color="#3A3966">MouseDeltaY</font>()/10
      <b><font color="#3A3966">EndIf</font></b>
      

      <b><font color="#3A3966">If</font></b> <font color="#3A3966">ExamineKeyboard</font>()
      
        <b><font color="#3A3966">If</font></b> <font color="#3A3966">KeyboardPushed</font>(<font color="#924B72">#PB_Key_Left</font>)
          KeyX = -1
        <b><font color="#3A3966">ElseIf</font></b> <font color="#3A3966">KeyboardPushed</font>(<font color="#924B72">#PB_Key_Right</font>)
          KeyX = 1
        <b><font color="#3A3966">Else</font></b>
          KeyX = 0
        <b><font color="#3A3966">EndIf</font></b>
        
        <b><font color="#3A3966">If</font></b> <font color="#3A3966">KeyboardPushed</font>(<font color="#924B72">#PB_Key_Up</font>)
          KeyY = -1
        <b><font color="#3A3966">ElseIf</font></b> <font color="#3A3966">KeyboardPushed</font>(<font color="#924B72">#PB_Key_Down</font>)
          KeyY = 1
        <b><font color="#3A3966">Else</font></b>
          KeyY = 0
        <b><font color="#3A3966">EndIf</font></b>
        
        <b><font color="#3A3966">If</font></b> <font color="#3A3966">KeyboardPushed</font>(<font color="#924B72">#PB_Key_PageUp</font>) <b><font color="#3A3966">And</font></b> Speed &lt; 2.0
          Speed + 0.05
        <b><font color="#3A3966">ElseIf</font></b> <font color="#3A3966">KeyboardPushed</font>(<font color="#924B72">#PB_Key_PageDown</font>) <b><font color="#3A3966">And</font></b> Speed &gt; 0.1
          Speed - 0.05
        <b><font color="#3A3966">EndIf</font></b>
                
      <b><font color="#3A3966">EndIf</font></b>

<font color="#3A3966">      AddEntityAnimationTime</font>(1, "Walk", TimeSinceLastFrame * Speed)
                
<font color="#3A3966">      RotateCamera</font>(0, MouseY, MouseX, 0, <font color="#924B72">#PB_Relative</font>)
<font color="#3A3966">      MoveCamera  </font>(0, KeyX, 0, KeyY)
      
      TimeSinceLastFrame =<font color="#3A3966"> RenderWorld</font>()

<font color="#3A3966">      FlipBuffers</font>()
    <b><font color="#3A3966">Until</font></b> <font color="#3A3966">KeyboardPushed</font>(<font color="#924B72">#PB_Key_Escape</font>) <b><font color="#3A3966">Or</font></b> Quit = 1
  <b><font color="#3A3966">EndIf</font></b>
    
<b><font color="#3A3966">Else</font></b>
<font color="#3A3966">  MessageRequester</font>("Error", "The 3D Engine can't be initialized",0)
<b><font color="#3A3966">EndIf</font></b>
  
<b><font color="#3A3966">End</font></b></font></pre>
</body></html>
